
package grafohamiltoniano;

import java.util.HashMap;

class Grafo {

    boolean dirigido = false;
    HashMap<String, Boolean> map = new HashMap();

    //Adiciona Aristas una grafo
    public void adicionaArista(int v1, int v2) {
        if (dirigido) {
            map.put(v1 + "-" + v2, Boolean.TRUE);
        } else if (!ExisteArista(v1, v2)) {
            map.put(v1 + "-" + v2, Boolean.TRUE);
        }
    }

    //Busca si el grafo tiene la arista v1-v2
    public boolean ExisteArista(int v1, int v2) {
        Boolean res = map.get(v1 + "-" + v2);
        if (res == null) {
            if (dirigido) {
                return false;
            } else {
                res = map.get(v2 + "-" + v1);
                if (res == null) {
                    return false;
                }
            }
            return res;
        }
        return res;
    }

    //Elimina la arista del grafo
    public void EliminaArista(int v1, int v2) {
        map.remove(v1 + "-" + v2);
        if (!dirigido) {
            map.remove(v2 + "-" + v1);
        }
    }
}